#ifndef _IIC_H_
#define _IIC_H_
 
#include "stdint.h"
 
/*表明SDA是输入还是输出*/
#define OUT 1
#define IN 0                                      
 
/*表明应答还是不应答*/
#define Ack 0
#define NoAck 1                                  
 
/*将IIC的SDA和SCL和你自己设定的IO口对应*/
#define PORT_SCL IIC_SCL_GPIO_Port
#define PIN_SCL  IIC_SCL_Pin
#define IIC_SCL_GPIO_Port GPIOB
#define IIC_SCL_Pin GPIO_PIN_10

#define PORT_SDA IIC_SDA_GPIO_Port
#define PIN_SDA  IIC_SDA_Pin
#define IIC_SDA_GPIO_Port GPIOB
#define IIC_SDA_Pin GPIO_PIN_11
 
#define SET_SCL     HAL_GPIO_WritePin(PORT_SCL, PIN_SCL, GPIO_PIN_SET)
#define RESET_SCL   HAL_GPIO_WritePin(PORT_SCL, PIN_SCL, GPIO_PIN_RESET)
 
#define SET_SDA     HAL_GPIO_WritePin(PORT_SDA, PIN_SDA, GPIO_PIN_SET)
#define RESET_SDA   HAL_GPIO_WritePin(PORT_SDA, PIN_SDA, GPIO_PIN_RESET)
 
 
/*函数声明*/
void I2C_Start(void);
void I2C_Stop(void);
uint8_t I2C_Wait_Ack(void);
void I2C_Send_Ack(uint8_t ack);
void I2C_Write_Byte(uint8_t Data);
uint8_t I2C_Read_Data(void);
void I2C_SDA_Mode(uint8_t addr);           
 
 
#endif
